Funktionale Programmierung in Java by Herbert Prähofer

Funktionale Programmierung in Java by Herbert Prähofer

Autor:Herbert Prähofer [Herbert Prähofer]
Die sprache: eng
Format: epub
Herausgeber: dpunkt
veröffentlicht: 2020-07-06T16:00:00+00:00


Der Code ist ganz analog zum sequentiellen Code in Listing 6–12. Es handelt sich dabei aber um keine sequentielle Ausführung, sondern um eine Verknüpfung mit dem monaden Operator. Was dann tatsächlich in der Verknüpfung passiert, ist damit abhängig vom Typ der Monade.

Sequentielle Ausführung mit Monade Id

Tatsächlich kann man eine sequentielle Ausführung durch den Identitäts-Monad nachbilden. Der Identitäts-Monad Id (siehe Listing 6–14) kapselt einen einzigen Wert. Die Methode flatMap wendet die Abbildungsfunktion an und gibt den Wert unverändert weiter. Setzen wir in Listing 6–13 für den generischen Platzhalter Monad die konkrete Monade Id ein, wird damit eine rein sequentielle Ausführung wie in Listing 6–12 simuliert.

public class Id<T> {

public static <T> Id<T> of(T elem) {

return new Id(elem);

}

public final T elem;

private Id<T>(T elem) { this.elem = elem; }

public <R> Id<R> flatMap(

Function<? super T, ? extends Id<? extends R>> mapper) {

return (Id<R>) mapper.apply(elem);

}

}



Download



Haftungsausschluss:
Diese Site speichert keine Dateien auf ihrem Server. Wir indizieren und verlinken nur                                                  Inhalte von anderen Websites zur Verfügung gestellt. Wenden Sie sich an die Inhaltsanbieter, um etwaige urheberrechtlich geschützte Inhalte zu entfernen, und senden Sie uns eine E-Mail. Wir werden die entsprechenden Links oder Inhalte umgehend entfernen.